package com.todo.strategy.online.iface;

import com.alibaba.fastjson.JSONObject;
import com.todo.common.common.entity.response.BizResponse;
import com.todo.strategy.online.iface.request.*;
import com.todo.strategy.online.iface.response.MemoTemplateDetailVO;
import com.todo.strategy.online.iface.response.MemoTemplateVO;

import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/11/29 18:08
 * @description
 */
public interface MemoTemplateFrontendIface {

    /**
     * 根据主键Id查询备忘录模板信息
     *
     * @param param
     * @return
     */
    BizResponse<MemoTemplateDetailVO> queryMemoTemplateById(QueryMemoTemplateByIdParam param);

    /**
     * 查询用户备忘录模板列表
     *
     * @param param
     * @return
     */
    BizResponse<List<MemoTemplateVO>> queryMemoTemplateListByUserId(QueryMemoTemplateListByUserIdParam param);

    /**
     * 查询推荐备忘录信息列表
     * 最大返回20个
     *
     * @return
     */
    BizResponse<List<MemoTemplateVO>> queryRecommMemoTemplateList(JSONObject json);

    /**
     * 新增用户备忘录模板信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> insertMemoTemplate(InsertMemoTemplateParam param);

    /**
     * 更新用户备忘录模板信息
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> updateMemoTemplate(UpdateMemoTemplateParam param);

    /**
     * 根据主键Id删除备忘录模板
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> removeMemoTemplateById(RemoveMemoTemplateByIdParam param);

    /**
     * 根据主键Id拷贝备忘录模板入参
     *
     * @param param
     * @return
     */
    BizResponse<Boolean> copyMemoTemplateById(CopyMemoTemplateByIdParam param);
}
